
package capa_logica;
 
import java.awt.Graphics2D;
import javax.swing.ImageIcon;

/* La clase piloto hereda de la clase actor - Contiene atributos y funciones para controlar el
piloto (jugador1)*/
public class Piloto extends Actor
{
    private boolean llamoDrone;
    private char codigo;
    private boolean pieDerecho;
    private int contador;
    
    public Piloto(int x, int y, int ene, int vis, int vel, int lar, int anc, int ori, Escenario esc) 
    {
        super(x, y, ene, vis, vel, lar, anc, ori, esc);
        llamoDrone = false;
        codigo = 'p';
        pieDerecho = true;
        contador = 0;
        
    }
    
    void ocuparMatriz()
    {
        for(int i = 0; i < ancho / TAM_CELDA; i++)
        {
            for(int j = 0; j < largo / TAM_CELDA; j++)
            {
                e.ocuparCelda((posicionX / TAM_CELDA) + j, (posicionY / TAM_CELDA) + i, codigo);
            }
        }
    }

    public boolean isPieDerecho() {
        return pieDerecho;
    }

    public void setPieDerecho(boolean pieDerecho) {
        this.pieDerecho = pieDerecho;
    }

    public boolean isLlamoDrone() 
    {
        return llamoDrone;
    }

    public void setLlamoDrone(boolean llamoDrone) 
    {
        this.llamoDrone = llamoDrone;
    }
    
    public void moverPiloto(String dir)
    {
        switch (dir) 
        {
            case "der" :
                if(orientacion == 315)
                {
                    orientacion = 0;
                }
                else
                {
                    orientacion = orientacion + 45;
                }
                break;
                
            case "izq" :
                if(orientacion == 0)
                {
                    orientacion = 315;
                }
                else
                {
                    orientacion = orientacion - 45;
                }
                break;
                
            case "arriba" :
                avanzar('p');
                contador++;
                if(contador == 4)
                {
                    pieDerecho = !pieDerecho;
                    contador = 0;
                }
                break;
                
            case "abajo" :
                retroceder('p');
                if(contador == 4)
                {
                    pieDerecho = !pieDerecho;
                    contador = 0;
                }
                break;
        }
    }
    
    public void paint(Graphics2D g)
    {
        if(orientacion == 0)
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado0.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 25, 24, null);
        }
        else if(orientacion == 45)
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado45.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 22, 26, null);
        }
        
        else if(orientacion == 90)
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado90.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 24, 25, null);
        }
        else if(orientacion == 135)
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado135.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 26, 22, null);
        }
        else if(orientacion == 180)
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado180.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 25, 24, null);
        }
        else if(orientacion == 225)
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado225.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 22, 26, null);
        }
        else if(orientacion == 270)
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado270.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 24, 25, null);
        }
        else
        {
            ImageIcon piloto1 = new ImageIcon(getClass().getResource("Soldado315.png"));
            g.drawImage(piloto1.getImage(), (posicionX - 5), (posicionY - 5), 26, 22, null);
        }
    }
}
